package com.nowcoder.community.dao;

import com.nowcoder.community.entity.DiscussPost;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author AnYang
 * @Description 帖子的mapper
 * @Version 1.0.0
 * @Date 2024/1/15
 */
@Mapper
public interface DiscussPostMapper {

    //考虑到个人主页的个人评论，使用userId
    //写sql语句时需要标明返回类型DiscussPost，而list时Java自带，可以自动识别
    //当有多个参数是，必须用Param
    List<DiscussPost> selectDiscussPosts(@Param("userId") int userId, @Param("offset") int offset, @Param("limit") int limit, int orderMode);

    //为了展示总共的评论数量,Param起别名；当动态使用sql时，且参数只有一个，且在<if>里使用，必须起别名
    int selectDiscussPostRows(@Param("userId") int userId);

    // 插入pinglun
    int insertDiscussPosts(DiscussPost post);

    // 查询评论详情
    DiscussPost selectDiscussPostById(int id);

    // 更新评论数
    int updateCommentCount(@Param("id") int id, @Param("commentCount") int commentCount);

    // 修改状态
    int updateStatus(int id, int status);
    // 修改类型
    int updateType(int id, int type);

    // 更新分数
    int updateScore(int id, double score);
}
